<html xmlns="http://www.w3c.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:p="http://primefaces.org/ui"
	xmlns:f="http://java.sun.com/jsf/core">
	<h:head>
		<title> Distribuidora Frutos del Campo </title>
		<link rel="stylesheet" type="text/css" media="screen" href="../css/hojaDeEstilos.css" />
		<meta charset="utf-8" />
	</h:head>
	<h:body>
		<div id = 'contenido'>   
			<header>              
				<hgroup>          
					<a href="../home.xhtml"> <img src="../imagenes/tituloPagina.jpg" /></a>          
					<h2>Gestión de Ventas</h2>
				</hgroup>
				<hr />
				<br />
				
				<hgroup>
	
					<h:form>
						<!-- Menu -->
						<p:menubar autoDisplay="false">
	
							<p:menuitem value="Registrar"
								action="#{facturaVentaBean.visibilizarRegistrar}"
								update=":formularioBusqueda :formularioRegistro :formularioEdicion" />
	
							<p:menuitem value="Buscar"
								action="#{facturaVentaBean.visibilizarBuscar}"
								update=":formularioBusqueda :formularioRegistro :formularioEdicion" />
						</p:menubar>
					</h:form>
				</hgroup>
				<hr />
				
			</header>
			
			<section>
			<div id='textoPrincipal'>

				
				<!-- Panel de Busqueda -->
				<div class="row-fluid" align="center">
					<h:form id="formularioBusqueda">

						<div class="span12" align="left">
							<p:panel id="buscar" header="Buscar Ventas"
								visible="#{facturaVentaBean.panelBuscarVisibilidad}">

								<h:panelGrid id="panelBusqueda" columns="4" cellpadding="5">

									<h:outputLabel for="codigo" value="Codigo: " />
									<p:inputText value="#{facturaVentaBean.codigoBuscar}" id="codigo"
										label="Codigo " />

									<h:outputLabel for="tipo" value="Tipo: " />
									<p:inputText value="#{facturaVentaBean.tipoBuscar}" id="tipo"
										label="Tipo " />

									<h:outputLabel for="estado" value="Estado: " />
									<p:inputText value="#{facturaVentaBean.estadoBuscar}" id="estado"
										label="Estado " />
										
									<h:outputLabel for="fechaDesde" value="Desde la fecha: " />
									<p:calendar value="#{facturaVentaBean.fechaDesdeBuscar}"
										id="fechaDesde" />

									<h:outputLabel for="fechaHasta" value="Hasta la fecha: " />
									<p:calendar value="#{facturaVentaBean.fechaHastaBuscar}"
										id="fechaHasta" />

								</h:panelGrid>

								<p:commandButton id="buscarButton" value="Buscar"
									action="#{facturaVentaBean.buscarVenta}"
									update="panelBusqueda ventasTabla" />

							</p:panel>
						</div>

						<div class="span12" align="left">
							<p:panel id="mostrar" header="Ventas Encontrados" visible="#{facturaVentaBean.panelBuscarVisibilidad}">

								<p:outputPanel id="ventasTabla">
									<p:dataTable id="dataTable" var="facturaVenta"
										value="#{facturaVentaBean.ventas}"
										widgetVar="ventasTable" rowKey="#{facturaVenta.codigo}"
										selection="#{facturaVentaBean.ventaSeleccionado}"
										selectionMode="single">

										<p:column id="codigoColumn" headerText="Codigo"
											sortBy="codigo">
											<h:outputText value="#{facturaVenta.codigo}" />
										</p:column>

										<p:column id="vendedorColumn" headerText="Vendedor"
											sortBy="codigo">
											<h:outputText value="#{facturaVenta.vendedor.codigo}" />
										</p:column>

										<p:column id="totalColumn" headerText="Total"
											sortBy="total">
											<h:outputText value="#{facturaVenta.total}" />
										</p:column>
										
										<p:column id="fechaColumna" headerText="Fecha"
											sortBy="fecha">
											<h:outputText value="#{facturaVenta.fecha}"
												id="fecha">
												<f:convertDateTime pattern="d/M/yyyy" />
											</h:outputText>
										</p:column>

										<p:column id="detallesColumn" style="width:10%"
											headerText="Detalles" footerText=" ">
											<p:commandButton id="selectButton" 
												style="margin:1px; padding:1px; width: 25px; height: 25px; left:25%"
												update=":formularioBusqueda :display :cobrosTabla :lineasTabla"
												oncomplete="PF('detalles').show()"
												icon="ui-icon-arrow-4-diag">
												<f:setPropertyActionListener value="#{facturaVenta}"
													target="#{facturaVentaBean.ventaSeleccionadoDetalles}" />
											</p:commandButton>
										</p:column>
									</p:dataTable>
								</p:outputPanel>

								<p:commandButton id="editarButton" value="Editar"
									update=":formularioEdicion :formularioRegistro :formularioBusqueda"
									action="#{facturaVentaBean.editarVenta}" />

								<p:commandButton id="eliminarButton" value="Eliminar"
									action="#{facturaVentaBean.eliminarVenta}" update="ventasTabla :formularioEdicion :formularioRegistro">
									<p:confirm header="Confirmacion de eliminacion"
										message="Esta seguro que quiere eliminar este venta?"
										icon="ui-icon-alert" />
								</p:commandButton>
								
								<div align="right">
								<h:commandButton id="botonimprimir" update=":formularioEdicion"					
								value="Imprimir" 
								action="#{facturaVentaBean.exportarPDF}">
								</h:commandButton>
								</div>

								<p:confirmDialog global="true" showEffect="fade" 
									hideEffect="explode">
									<p:commandButton value="Si" type="button"
										styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
									<p:commandButton value="No" type="button"
										styleClass="ui-confirmdialog-no" icon="ui-icon-close" />
								</p:confirmDialog>
							</p:panel>
						</div>
					</h:form>

					<!-- Dialogo para cuando se apreta el Boton de Detalles de venta -->
					<p:dialog id="ventaDetalles" header="Detalles del Venta"
						widgetVar="detalles" position="top" resizable="false"
						showEffect="fade" hideEffect="explode" modal="true" >

						<p:outputPanel id="panelDetalles">
							<h:panelGrid id="display" columns="2" cellpadding="4"
								style="margin:0 auto;">

								<f:facet name="header">
									<p>Datos:</p>
								</f:facet>

								<h:outputText value="Codigo: " />
								<h:outputText
									value="#{facturaVentaBean.ventaSeleccionadoDetalles.codigo}"
									style="font-weight:bold" />

								<h:outputText value="Estado: " />
								<h:outputText
									value="#{facturaVentaBean.ventaSeleccionadoDetalles.estado}"
									style="font-weight:bold" />

								<h:outputText value="Tipo: " />
								<h:outputText
									value="#{facturaVentaBean.ventaSeleccionadoDetalles.tipo}"
									style="font-weight:bold" />

								<h:outputText value="Total: " />
								<h:outputText
									value="#{facturaVentaBean.ventaSeleccionadoDetalles.total}"
									style="font-weight:bold" />

								<h:outputText value="Saldo a cobrar: " />
								<h:outputText
									value="#{facturaVentaBean.ventaSeleccionadoDetalles.saldo}"
									style="font-weight:bold" />

								<h:outputText value="Fecha:" />
								<h:outputText
									value="#{facturaVentaBean.ventaSeleccionadoDetalles.fecha}"
									id="fecha" style="font-weight:bold">
									<f:convertDateTime pattern="d/M/yyyy" />
								</h:outputText>

								<h:outputText value="Cliente: " />
								<h:outputText
									value="#{facturaVentaBean.ventaSeleccionadoDetalles.cliente.codigo}"
									style="font-weight:bold" />

								<h:outputText value="Vendedor: " />
								<h:outputText
									value="#{facturaVentaBean.ventaSeleccionadoDetalles.vendedor.codigo}"
									style="font-weight:bold" />

								<h:outputText value="Empleado: " />
								<h:outputText
									value="#{facturaVentaBean.ventaSeleccionadoDetalles.empleadoDeVenta.codigo}"
									style="font-weight:bold" />

								<h:outputText value="Comentario " />
								<h:outputText
									value="#{facturaVentaBean.ventaSeleccionadoDetalles.comentario}"
									style="font-weight:bold" />

							</h:panelGrid>

							<p:outputPanel id="cobrosTabla" style="width:50%">

								<h:outputText value="Cobros realizados: " />
								<p:dataTable id="dataTable" var="cobro" 
									value="#{facturaVentaBean.ventaSeleccionadoDetalles.cobros}"
									widgetVar="cobrosTable" rowKey="#{cobro.codigo}">

									<p:column id="codigoColumn" headerText="Codigo" sortBy="codigo">
										<h:outputText value="#{cobro.codigo}" />
									</p:column>

									<p:column id="montoColumn" headerText="Monto" sortBy="monto">
										<h:outputText value="#{cobro.monto}" />
									</p:column>

									<p:column id="fechaColumna" headerText="Fecha de cobro"
										sortBy="fecha">
										<h:outputText value="#{cobro.fecha}" id="fechaCobro">
											<f:convertDateTime pattern="d/M/yyyy" />
										</h:outputText>
									</p:column>

								</p:dataTable>
							</p:outputPanel>

							<p:outputPanel id="lineasTabla" style="width:50%">
								<h:outputText value="Líneas de la factura: " />
								<p:dataTable id="dataTable2" var="lineaFactura" 
									value="#{facturaVentaBean.ventaSeleccionadoDetalles.lineasFactura}"
									widgetVar="lineasTable"
									rowKey="#{lineaFactura.loteDeCompra.codigo}">

									<p:column>
										<f:facet name="header">
											<h:outputText value="Lote de compra" />
										</f:facet>
										<h:outputText value="#{lineaFactura.loteDeCompra.codigo}" />
									</p:column>

									<p:column>
										<f:facet name="header">
											<h:outputText value="Unidades" />
										</f:facet>
										<h:outputText value="#{lineaFactura.cantidadUnidades}" />
									</p:column>

									<p:column>
										<f:facet name="header">
											<h:outputText value="Cantidad total" />
										</f:facet>
										<h:outputText value="#{lineaFactura.cantidad}" />
									</p:column>

									<p:column>
										<f:facet name="header">
											<h:outputText value="Precio" />
										</f:facet>
										<h:outputText value="#{lineaFactura.precio}" />
									</p:column>

								</p:dataTable>
							</p:outputPanel>
						</p:outputPanel>

						<h:commandButton id="imprimirButton" value="Imprimir"
							type="button"
							styleClass="ui-button ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only ui-button-text ui-c"
							icon="ui-icon-print">
							<p:printer target="panelDetalles" />
						</h:commandButton>

					</p:dialog>
				</div>


				<!-- Panel de Edicion -->
				<div class="row-fluid" align="center">
					<h:form id="formularioEdicion">

						<div class="span12" align="left">
							<p:panel id="editar" header="Edicion del Venta"
								visible="#{facturaVentaBean.panelEditarVisibilidad}">

								<h:panelGrid id="panel" columns="6" cellpadding="5">

									<h:outputLabel for="codigo" value="Codigo: " />
									<p:inputText
										value="#{facturaVentaBean.ventaSeleccionado.codigo}"
										id="codigo" required="true" label="Codigo " />

									<h:outputLabel for="estado" value="Estado: " />
									<p:inputText
										value="#{facturaVentaBean.ventaSeleccionado.estado}"
										id="estado" required="true" label="Estado " />

									<h:outputLabel for="tipo" value="Tipo: " />
									<p:inputText value="#{facturaVentaBean.ventaSeleccionado.tipo}"
										id="tipo" required="true" label="Tipo " />

									<h:outputLabel for="fecha" value="Fecha: " />
									<p:calendar value="#{facturaVentaBean.ventaSeleccionado.fecha}"
										id="fecha" required="true" />

									<h:outputLabel for="comboCliente" value="Cliente: " />
									<p:selectOneMenu id="comboCliente"
										value="#{facturaVentaBean.ventaSeleccionado.cliente}"
										converter="clienteConverter" effect="fade" label="Cliente ">
										<f:selectItem itemLabel="#{facturaVentaBean.nombreCliente}"
											itemValue="" />
										<f:selectItems value="#{facturaVentaBean.clientes}"
											var="cliente" itemValue="#{cliente}"
											itemLabel="#{cliente.codigo}" />
									</p:selectOneMenu>

									<h:outputLabel for="comboVendedor" value="Vendedor: " />
									<p:selectOneMenu id="comboVendedor"
										value="#{facturaVentaBean.ventaSeleccionado.vendedor}"
										converter="vendedorConverter" effect="fade" label="Vendedor ">
										<f:selectItem itemLabel="#{facturaVentaBean.nombreVendedor}"
											itemValue="" />
										<f:selectItems value="#{facturaVentaBean.vendedores}"
											var="vendedor" itemValue="#{vendedor}"
											itemLabel="#{vendedor.codigo}" />
									</p:selectOneMenu>

									<h:outputLabel for="comentario" value="Comentario: " />
									<p:inputText
										value="#{facturaVentaBean.ventaSeleccionado.comentario}"
										id="comentario" required="true" label="Comentario " />

								</h:panelGrid>

								<p:panel id="panelCobrosPrincipalEditar" header="Editar Cobros">
									<h:panelGrid columns="2" cellpadding="5">
										<h:outputLabel for="cobrosEditar" value="Cobros: " />

										<p:commandButton id="visibilidadCobrosButtonEditar"
											value="Editar Cobros"
											action="#{facturaVentaBean.visibilidadCobrosEditar}"
											update="panelCobrosEditar"
											process="panelCobrosPrincipalEditar" />

									</h:panelGrid>

									<p:panel id="panelCobrosEditar" styleClass="panelSinBorde"
										visible="#{facturaVentaBean.panelCobrosEditarVisibilidad}">

										<p:accordionPanel activeIndex="3">

											<p:tab title="Registrar Cobros Efectivo">

												<p:panel id="panelCobroEfectivoEditar">
													<h:panelGrid id="panelGridCobroEfectivo" columns="4"
														cellpadding="5">

														<h:outputLabel for="codigoCobroEfectivoEditar"
															value="Codigo: " />
														<p:inputText
															value="#{facturaVentaBean.codigoCobroEfectivoRegistrar}"
															id="codigoCobroEfectivoEditar" label="Codigo " />

														<h:outputLabel value="Monto: "
															for="montoCobroEfectivoEditar" />
														<p:inputText id="montoCobroEfectivoEditar"
															value="#{facturaVentaBean.montoCobroEfectivoRegistrar}"
															converterMessage="Cannot convert to integer.">
															<f:validateDoubleRange minimum="0.0" />
														</p:inputText>

														<h:outputLabel for="fechaCobroEfectivoEditar"
															value="Fecha de cobro: " />
														<p:calendar
															value="#{facturaVentaBean.fechaCobroEfectivoRegistrar}"
															id="fechaCobroEfectivoEditar" />

													</h:panelGrid>

													<p:commandButton id="regiCobroEfectivoButtonEditar"
														value="Registrar"
														action="#{facturaVentaBean.registrarCobroEfectivo('editarVenta')}"
														update="panelCobroRegistradosEditar panelCobroEfectivoEditar"
														process="panelCobroEfectivoEditar" />
												</p:panel>

											</p:tab>

											<p:tab title="Registrar Cobros Cheque">

												<p:panel id="panelCobroChequeEditar">
													<h:panelGrid id="panelGridCobroChequeEditar" columns="4"
														cellpadding="5">

														<h:outputLabel for="codigoCobroChequeEditar" value="Codigo: " />
														<p:inputText
															value="#{facturaVentaBean.codigoCobroChequeRegistrar}"
															id="codigoCobroChequeEditar" label="Codigo " />

														<h:outputLabel for="comboChequeEditar" value="Cheque: " />
														<p:selectOneMenu id="comboChequeEditar"
															value="#{facturaVentaBean.chequeCobro}"
															converter="chequeConverter" effect="fade" label="Cheque ">
															<f:selectItem itemLabel="Seleccionar uno" itemValue="" />
															<f:selectItems value="#{facturaVentaBean.cheques}"
																var="cheque" itemValue="#{cheque}"
																itemLabel="#{cheque.numero}" />
														</p:selectOneMenu>

														<h:outputLabel for="fechaCobroChequeEditar"
															value="Fecha de cobro: " />
														<p:calendar
															value="#{facturaVentaBean.fechaCobroChequeRegistrar}"
															id="fechaCobroChequeEditar" />

													</h:panelGrid>

													<p:commandButton id="regiCobroChequeButtonEditar"
														value="Registrar"
														action="#{facturaVentaBean.registrarCobroCheque('editarVenta')}"
														update="panelCobroRegistradosEditar panelCobroChequeEditar"
														process="panelCobroChequeEditar" />

												</p:panel>

											</p:tab>

											<p:tab title="Cobros Registrados">
												<p:panel id="panelCobroRegistradosEditar">
													<h:panelGrid columns="1" cellpadding="5">
														<p:pickList id="cobrosEditar"
															value="#{facturaVentaBean.cobros}" var="cobro"
															itemValue="#{cobro}" itemLabel="#{cobro.codigo}"
															converter="cobroConverter" showSourceFilter="true"
															showTargetFilter="true" filterMatchMode="contains">

															<f:facet name="sourceCaption">Disponibles</f:facet>
															<f:facet name="targetCaption">Insertados</f:facet>

															<p:ajax event="transfer"
																listener="#{facturaVentaBean.transferir}" />

															<p:column style="width:50%;"> 
															#{cobro.codigo}  
        												</p:column>

															<p:column style="width:50%;"> 
															#{cobro.monto}  
        												</p:column>

														</p:pickList>
													</h:panelGrid>
												</p:panel>
											</p:tab>
										</p:accordionPanel>
									</p:panel>
								</p:panel>

								<p:panel id="agregarLineaDeFacturasEditar"
									header="Generar lineas de factura">
									<h:panelGrid columns="2" cellpadding="5">
										<h:outputLabel for="cobrosEditar" value="Cobros: " />

										<p:commandButton id="visibilidadLineasButtonEditar"
											value="Editar Lineas"
											action="#{facturaVentaBean.visibilidadLineasEditar}"
											update="panelLineasEditar"
											process="agregarLineaDeFacturasEditar" />

									</h:panelGrid>

									<p:panel id="panelLineasEditar" styleClass="panelSinBorde"
										visible="#{facturaVentaBean.panelLineasEditarVisibilidad}">
										<h:panelGrid columns="4" id="grid">

											<h:outputLabel for="comboEditar" value="Lote de compra: " />
											<p:selectOneMenu id="comboEditar"
												value="#{facturaVentaBean.loteSeleccionadoEditar}"
												converter="loteDeCompraConverter" effect="fade"
												label="Lote de compra ">
												<f:selectItem itemLabel="Seleccionar uno" itemValue="" />
												<f:selectItems value="#{facturaVentaBean.lotes}"
													var="loteDeCompra" itemValue="#{loteDeCompra}"
													itemLabel="#{loteDeCompra.codigo}" />
											</p:selectOneMenu>

											<h:outputLabel value="Unidades: " for="unidades" />
											<p:inputText id="unidades"
												value="#{facturaVentaBean.unidadesEditar}"
												converterMessage="Cannot convert to long.">
												<f:validateLongRange minimum="1" />
											</p:inputText>

											<h:outputLabel value="Cantidad total: " for="cantidad" />
											<p:inputText id="cantidad"
												value="#{facturaVentaBean.cantidadEditar}"
												converterMessage="Cannot convert to double.">
												<f:validateDoubleRange minimum="0.0" />
											</p:inputText>

											<h:outputLabel value="Precio: " for="precio" />
											<p:inputText id="precio"
												value="#{facturaVentaBean.precioEditar}"
												converterMessage="Cannot convert to double.">
												<f:validateDoubleRange minimum="0.0" />
											</p:inputText>

											<p:commandButton id="botonAgregarEditar" value="Agregar"
												update="agregarLineaDeFacturasEditar lineasEditar lineasTableEditar"
												action="#{facturaVentaBean.agregarLineaFacturaEditar}"
												process="panelLineasEditar">
											</p:commandButton>

										</h:panelGrid>

										<p:outputPanel id="lineasEditar">
											<p:dataTable id="lineasTableEditar"
												value="#{facturaVentaBean.lineasEditar}" var="lineaFactura">

												<p:column>
													<f:facet name="header">
														<h:outputText value="Lote de compra" />
													</f:facet>
													<h:outputText value="#{lineaFactura.loteDeCompra.codigo}" />
												</p:column>

												<p:column>
													<f:facet name="header">
														<h:outputText value="Unidades" />
													</f:facet>
													<h:outputText value="#{lineaFactura.cantidadUnidades}" />
												</p:column>

												<p:column>
													<f:facet name="header">
														<h:outputText value="Cantidad total" />
													</f:facet>
													<h:outputText value="#{lineaFactura.cantidad}" />
												</p:column>

												<p:column>
													<f:facet name="header">
														<h:outputText value="Precio" />
													</f:facet>
													<h:outputText value="#{lineaFactura.precio}" />
												</p:column>

												<p:column style="width:15%">
													<f:facet name="header">
														<h:outputText value="Operación" />
													</f:facet>
													<p:commandLink value="Borrar" update="lineasTableEditar"
														process="lineasTableEditar">
														<p:collector value="#{lineaFactura}"
															removeFrom="#{facturaVentaBean.lineasEditar}" />
														<p:collector value="#{lineaFactura}"
															addTo="#{facturaVentaBean.lineasEliminar}" />
													</p:commandLink>
												</p:column>

											</p:dataTable>
										</p:outputPanel>
									</p:panel>
								</p:panel>

								<p:commandButton id="editarButton" value="Guardar"
									update=":formularioBusqueda :formularioEdicion :formularioRegistro"
									action="#{facturaVentaBean.actualizarVenta}"
									disabled="#{empty facturaVentaBean.ventaSeleccionado}" />

								<p:commandButton id="volverButton" value="Volver"
									update=":formularioBusqueda :formularioEdicion :formularioRegistro"
									action="#{facturaVentaBean.volverBusqueda}" />

							</p:panel>
						</div>
					</h:form>
				</div>

				
				<!-- Panel de Registro -->
				<div class="row-fluid" align="center">
					<h:form id="formularioRegistro">
						<div class="span12" align="left">

							<p:panel id="registrar" header="Registro de Facturas de Venta"
								visible="#{facturaVentaBean.panelRegistrarVisibilidad}">

								<h:panelGrid id="panel" columns="6" cellpadding="5">

									<h:outputLabel for="codigo" value="Codigo: " />
									<p:inputText value="#{facturaVentaBean.codigoRegistrar}"
										id="codigo" required="true" label="Codigo " />

									<h:outputLabel for="estado" value="Estado: " />
									<p:inputText value="#{facturaVentaBean.estadoRegistrar}"
										id="estado" required="true" label="Estado " />

									<h:outputLabel for="tipo" value="Tipo: " />
									<p:inputText value="#{facturaVentaBean.tipoRegistrar}"
										id="tipo" required="true" label="Tipo " />

									<h:outputLabel for="fecha" value="Fecha: " />
									<p:calendar value="#{facturaVentaBean.fechaRegistrar}"
										id="fecha" required="true" />

									<h:outputLabel for="comboCliente" value="Cliente: " />
									<p:selectOneMenu id="comboCliente" required="true"
										value="#{facturaVentaBean.clienteSeleccionadoRegistrar}"
										converter="clienteConverter" effect="fade" label="Cliente ">
										<f:selectItem itemLabel="Seleccionar uno" itemValue="" />
										<f:selectItems value="#{facturaVentaBean.clientes}"
											var="cliente" itemValue="#{cliente}"
											itemLabel="#{cliente.codigo}" />
									</p:selectOneMenu>

									<h:outputLabel for="comboVendedor" value="Vendedor: " />
									<p:selectOneMenu id="comboVendedor" required="true"
										value="#{facturaVentaBean.vendedorSeleccionadoRegistrar}"
										converter="vendedorConverter" effect="fade" label="Vendedor ">
										<f:selectItem itemLabel="Seleccionar uno" itemValue="" />
										<f:selectItems value="#{facturaVentaBean.vendedores}"
											var="vendedor" itemValue="#{vendedor}"
											itemLabel="#{vendedor.codigo}" />
									</p:selectOneMenu>

									<h:outputLabel for="comentario" value="Comentario: " />
									<p:inputText value="#{facturaVentaBean.comentarioRegistrar}"
										id="comentario" required="true" label="Comentario " />

								</h:panelGrid>

								<p:panel id="panelCobrosPrincipal" header="Registrar Cobros">
									<h:panelGrid columns="2" cellpadding="5">
										<h:outputLabel for="cobrosRegistrar" value="Cobros: " />

										<p:commandButton id="visibilidadCobrosButton"
											value="Cargar Cobros"
											action="#{facturaVentaBean.visibilidadCobros}"
											update="panelCobrosPrincipal" process="panelCobrosPrincipal" />
									</h:panelGrid>

									<p:panel id="panelCobros" styleClass="panelSinBorde"
										visible="#{facturaVentaBean.panelCobrosVisibilidad}">

										<p:accordionPanel activeIndex="3">

											<p:tab title="Registrar Cobros Efectivo">
												<p:panel id="panelCobroEfectivo">
													<h:panelGrid id="panelGridCobroEfectivo" columns="4"
														cellpadding="5">

														<h:outputLabel for="codigoCobroEfectivo" value="Codigo: " />
														<p:inputText
															value="#{facturaVentaBean.codigoCobroEfectivoRegistrar}"
															id="codigoCobroEfectivo" label="Codigo " />

														<h:outputLabel value="Monto: " for="montoCobroEfectivo" />
														<p:inputText id="montoCobroEfectivo"
															value="#{facturaVentaBean.montoCobroEfectivoRegistrar}"
															converterMessage="Cannot convert to integer.">
															<f:validateDoubleRange minimum="0.0" />
														</p:inputText>

														<h:outputLabel for="fechaCobroEfectivo"
															value="Fecha de cobro: " />
														<p:calendar
															value="#{facturaVentaBean.fechaCobroEfectivoRegistrar}"
															id="fechaCobroEfectivo" />
													</h:panelGrid>

													<p:commandButton id="regiCobroEfectivoButton"
														value="Registrar"
														action="#{facturaVentaBean.registrarCobroEfectivo('registrarVenta')}"
														update="panelCobroRegistrados panelCobroEfectivo" />

												</p:panel>
											</p:tab>

											<p:tab title="Registrar Cobros Cheque">

												<p:panel id="panelCobroCheque">
													<h:panelGrid id="panelGridCobroCheque" columns="4"
														cellpadding="5">

														<h:outputLabel for="codigoCobroCheque" value="Codigo: " />
														<p:inputText
															value="#{facturaVentaBean.codigoCobroChequeRegistrar}"
															id="codigoCobroCheque" label="Codigo " />

														<h:outputLabel for="comboCheque" value="Cheque: " />
														<p:selectOneMenu id="comboCheque"
															value="#{facturaVentaBean.chequeCobro}"
															converter="chequeConverter" effect="fade" label="Cheque ">
															<f:selectItem itemLabel="Seleccionar uno" itemValue="" />
															<f:selectItems value="#{facturaVentaBean.cheques}"
																var="cheque" itemValue="#{cheque}"
																itemLabel="#{cheque.numero}" />
														</p:selectOneMenu>

														<h:outputLabel for="fechaCobroCheque"
															value="Fecha de cobro: " />
														<p:calendar
															value="#{facturaVentaBean.fechaCobroChequeRegistrar}"
															id="fechaCobroCheque" />

													</h:panelGrid>
													
													<p:commandButton id="regiCobroChequeButton"
														value="Registrar"
														action="#{facturaVentaBean.registrarCobroCheque('registrarVenta')}"
														update="panelCobroRegistrados panelCobroCheque" />
												</p:panel>

											</p:tab>

											<p:tab title="Cobros Registrados">
												<p:panel id="panelCobroRegistrados">
													<h:panelGrid columns="1" cellpadding="5">
														<p:pickList id="cobrosRegistrar"
															value="#{facturaVentaBean.cobrosRegistrar}" var="cobro"
															itemValue="#{cobro}" itemLabel="#{cobro.codigo}"
															converter="cobroConverter" showSourceFilter="true"
															showTargetFilter="true" filterMatchMode="contains">

															<f:facet name="sourceCaption">Disponibles</f:facet>
															<f:facet name="targetCaption">Insertados</f:facet>

															<p:ajax event="transfer"
																listener="#{facturaVentaBean.transferir}" />

															<p:column style="width:50%;"> 
																#{cobro.codigo}  
        													</p:column>

															<p:column style="width:50%;"> 
																#{cobro.monto}  
        													</p:column>

														</p:pickList>
													</h:panelGrid>
												</p:panel>
											</p:tab>

										</p:accordionPanel>

									</p:panel>
								</p:panel>

								<p:panel id="agregarLineaDeFacturas"
									header="Generar lineas de factura">

									<h:panelGrid columns="2" cellpadding="5">
										<h:outputLabel for="visibilidadLineasButton" value="Líneas: " />

										<p:commandButton id="visibilidadLineasButton"
											value="Cargar Líneas"
											action="#{facturaVentaBean.visibilidadLineas}"
											update="panelLineas" process="agregarLineaDeFacturas" />
									</h:panelGrid>

									<p:panel id="panelLineas" styleClass="panelSinBorde"
										visible="#{facturaVentaBean.panelLineasVisibilidad}">
										<h:panelGrid columns="4" id="grid">

											<h:outputLabel value="Unidades: " for="unidades" />
											<p:inputText id="unidades"
												value="#{facturaVentaBean.unidadesRegistrar}"
												converterMessage="Cannot convert to long.">
												<f:validateLongRange minimum="1" />
											</p:inputText>

											<h:outputLabel for="combo" value="Lote de compra: " />
											<p:selectOneMenu id="combo"
												value="#{facturaVentaBean.loteSeleccionadoRegistrar}"
												converter="loteDeCompraConverter" effect="fade"
												label="Lote de compra ">
												<f:selectItem itemLabel="Seleccionar uno" itemValue="" />
												<f:selectItems value="#{facturaVentaBean.lotesRegistrar}"
													var="loteDeCompra" itemValue="#{loteDeCompra}"
													itemLabel="#{loteDeCompra.codigo}" />
											</p:selectOneMenu>

											<h:outputLabel value="Cantidad total: " for="cantidad" />
											<p:inputText id="cantidad"
												value="#{facturaVentaBean.cantidadRegistrar}"
												converterMessage="Cannot convert to double.">
												<f:validateDoubleRange minimum="0.0" />
											</p:inputText>

											<h:outputLabel value="Precio: " for="precio" />
											<p:inputText id="precio"
												value="#{facturaVentaBean.precioRegistrar}"
												converterMessage="Cannot convert to double.">
												<f:validateDoubleRange minimum="0.0" />
											</p:inputText>

											<p:commandButton id="botonAgregar" value="Agregar"
												update="agregarLineaDeFacturas lineasRegistrar lineasTable"
												action="#{facturaVentaBean.agregarLineaFacturaRegistrar}"
												>
											</p:commandButton>

										</h:panelGrid>

										<p:outputPanel id="lineasRegistrar">
											<p:dataTable id="lineasTable"
												value="#{facturaVentaBean.lineasRegistrar}"
												var="lineaFactura">

												<p:column>
													<f:facet name="header">
														<h:outputText value="Unidades" />
													</f:facet>
													<h:outputText value="#{lineaFactura.cantidadUnidades}" />
												</p:column>

												<p:column>
													<f:facet name="header">
														<h:outputText value="Lote de compra" />
													</f:facet>
													<h:outputText value="#{lineaFactura.loteDeCompra.codigo}" />
												</p:column>

												<p:column>
													<f:facet name="header">
														<h:outputText value="Cantidad total" />
													</f:facet>
													<h:outputText value="#{lineaFactura.cantidad}" />
												</p:column>

												<p:column>
													<f:facet name="header">
														<h:outputText value="Precio" />
													</f:facet>
													<h:outputText value="#{lineaFactura.precio}" />
												</p:column>

												<p:column style="width:15%">
													<f:facet name="header">
														<h:outputText value="Operación" />
													</f:facet>
													<p:commandLink value="Borrar" update="lineasTable"
														process="lineasTable">
														<p:collector value="#{lineaFactura}"
															removeFrom="#{facturaVentaBean.lineasRegistrar}" />
													</p:commandLink>
												</p:column>

											</p:dataTable>
										</p:outputPanel>
									</p:panel>
								</p:panel>

								<p:commandButton id="regiButton" value="Registrar"
									action="#{facturaVentaBean.registrarVenta}"
									update=":formularioRegistro" />
							</p:panel>
						</div>
					</h:form>

				</div>
			</div>
		</section> 
		</div>
	
	</h:body>
</html>